package com.jiyun.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 *
 * </p>
 *
 * @author author
 * @since 2024-11-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("orders")
@ApiModel(value = "Orders对象", description = "")
public class Orders extends DcOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "序号")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "订单编号")
    private String oid;

    @ApiModelProperty(value = "订单类型")
    private Integer type;

    @ApiModelProperty(value = "乘客 用户(外键)")
    @TableField(value = "o_passname")
    private Integer oPassname;

    @ApiModelProperty(value = "司机(外键)")
    @TableField(value = "o_drivername")
    private Integer oDrivername;

    @ApiModelProperty(value = "订单出发地点")
    private String starting;

    @ApiModelProperty(value = "途径点一")
    private String routepointone;

    @ApiModelProperty(value = "途径点二")
    private String routepointtwo;

    @ApiModelProperty(value = "订单目的地")
    private String destination;

    @ApiModelProperty(value = "实际下车点")
    private String getpoint;

    @ApiModelProperty(value = "订单发出时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payissuetime;

    @ApiModelProperty(value = "订单预约时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymaketime;

    @ApiModelProperty(value = "订单到达时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payarrivetime;

    @ApiModelProperty(value = "订单里程")
    private BigDecimal mileage;

    @ApiModelProperty(value = "订单耗时")
    private Integer payconsuming;

    @ApiModelProperty(value = "是否提前下车")
    private Integer getoffcar;

    @ApiModelProperty(value = "乘客总费用")
    private Integer pricesum;

    @ApiModelProperty(value = "订单状态")
    private Integer orderstatus;

    @ApiModelProperty(value = "支付状态")
    private Integer paystatus;

    @ApiModelProperty(value = "支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paytime;

    @ApiModelProperty(value = "行政区")
    private String districts;

    @ApiModelProperty(value = "城市等级")
    private String grade;

    @ApiModelProperty(value = "星期")
    private String week;

    @ApiModelProperty(value = "订单星级评价")
    private Integer evaluate;

    @ApiModelProperty(value = "用户对司机的评价")
    private String userevaluation;

    @ApiModelProperty(value = "司机对用户的评价")
    private String driverevaluation;

    @ApiModelProperty(value = "车辆表外键")
    private Integer carId;

    @ApiModelProperty(value = "司机接单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date acceptime;

    @ApiModelProperty(value = "司机等待时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date waittime;

    @ApiModelProperty(value = "接到乘客时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date passengerstime;

    @TableField(exist = false)
    private String userName;

    @TableField(exist = false)
    private String phone;


}
